package cn.jja8.networkTransmission.tool;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * 短数据传输，一套发送和接收数据的标准
 * */
public class ByteDataTransmission {
    /**
     * 使用标准接收数据
     * */
    public static byte[] 接收(InputStream b输入流) throws IOException {
        int b1位 = b输入流.read();
        int b2位 = b输入流.read();
        int b3位 = b输入流.read();
        int b4位 = b输入流.read();
        int len = b1位 + b2位*255 + b3位*255*255 + b4位*255*255*255;
        if (b1位<0|b2位<0|b3位<0|b4位<0){
            throw new IOException("输入流已经被关闭");
        }
        byte b数据[] = new byte[len];
        for (int i = 0; i < b数据.length; i++) {
            b数据[i] = (byte) b输入流.read();
        }
        return b数据;
    }
    /**
     * 使用标准发送数据
     * */
    public static void 发送(OutputStream b输出流, byte[] b数据) throws IOException {
        b输出流.write(b数据.length % 255);
        b输出流.write(b数据.length / 255 % 255);
        b输出流.write(b数据.length / 255 / 255 % 255);
        b输出流.write(b数据.length / 255 / 255 / 255 % 255);
        b输出流.write(b数据);
    }
}
